JavaScript

Obsticles To Feeding Pacman

Project Overview:

A Pacman-inspired game with integrated educational questions. The player answers questions by "eating" certain objects in the game. Each correct answer rewards the player with points, and incorrect answers result in a loss of life. Created for global food systems class, specifically for the topic of obstacles to feeding 9.5 Billion.

Skills:

Game Design:

I implemented the core mechanics of the Pac-Man game, including character movement, ghost behaviors, and collision detection using p5.js.

Game Modes:

I created different game modes such as a welcome screen, gameplay, question mode for answering educational prompts, and an end screen that displays the player's score and game-over message.

User Interface:

I designed the UI components to display the score, lives, and educational questions, enhancing the user experience during gameplay.

Animation and Interaction:

I used p5.js' built-in functions to animate characters, trigger events upon interactions (such as eating objects and encountering ghosts), and implement the game’s dynamic elements, like the random movements of the ghosts.


Murder Mystery

In collaboration with Alyssa Mazzone and Danika Perez:

Project Overview:

In this murder mystery game, the user must play several minigames in order to collect hints to find the murderer. This game uses concepts of On-screen Dynamics, Random Numbers, Text, and particle systems.

Skills:

Screen Management:

Each screen function, like startScreen() and murdererScreen(), dynamically renders content such as text, images, and animations to set the game’s tone and narrative. I added interactive visuals and sound cues to enhance the atmosphere, including startScreen()'s animated title text and background image that fades in and out, creating a suspenseful first impression.

User Interaction & Navigation:

The mouseClicked() function handles flexible navigation, allowing players to move between screens by once they complete a task. I also implemented resetGame() to randomize critical game elements, ensuring varied gameplay with each reset.

Weapons Class and Particle System:

Designed a challenging "clicker game" where players must quickly click the correct weapon type amidst other moving weapons in a particle system. This minigame includes dynamic object creation and collision handling. The render() function dynamically displays each weapon’s image based on type, tinting colors as visual feedback for the player. I implemented a physics engine in collide() to manage interactions between weapons, ensuring they move naturally on the screen and respond accurately when clicked. I further supported the atmospere by adding sound effects to heighten player engagement during gameplay.